Skip to main content
Version: DeepHub 2025 R2 - 2.7.1

VDA 5050 Connector

The VDA 5050 Connector connects to an MQTT broker and subscribes to the visualization topic. From these visualization messages, it extracts the agvPosition, converts it to an omlox Location object, and publishes it to the same broker via the omlox/json/location_updates/pub/{provider_id} topic. From there, the Location can be processed by the DeepHub.

Setup and Configuration

The VDA 5050 Connector is available through Docker Hub as a standalone Docker image: flowcate/deephub-connector:vda5050. To start this connector alongside a DeepHub instance, the following configurations must be added to the docker-compose file used to start the DeepHub:

vda5050_connector:
image: flowcate/deephub-connector:vda5050
environment:
- MQTT_BROKER_HOST=mosquitto
- MQTT_BROKER_PORT=1883
- VDA5050_INTERFACE_NAME=vda5050
- VDA5050_MAJOR_VERSION=v2
- RUST_LOG=info
depends_on:
- mosquitto
networks:
- flowcate-net

mosquitto:
image: eclipse-mosquitto:2.0
entrypoint: "mosquitto"
command: ["-c", "/mosquitto-no-auth.conf"]
ports:
- "1883:1883"
networks:
- deephub-net
- flowcate-net

deephub:
image: flowcate/deephub:2.7.0
read_only: true
environment:
- DEEPHUB_MQTT_ADDRESS=mosquitto
- DEEPHUB_MQTT_PORT=1883
- ...
volumes:
- ./data/hub-data:/data
ports:
- "8081:8081"
depends_on:
mosquitto:
condition: service_started
networks:
- deephub-net

...

The relevant configuration parameters are:

VariableDescription
MQTT_BROKER_HOSTThe address of the MQTT broker.
MQTT_BROKER_PORTThe port of the MQTT broker.
VDA5050_INTERFACE_NAMEName of the used interface.
VDA5050_MAJOR_VERSIONMajor version number of VDA 5050.

The connector expects the following topic structure: interfaceName/majorVersion/manufacturer/serialNumber/topic

Property Mapping

The omlox location updates are constructed based on the information contained in the VDA 5050 visualization message. The connector therefore uses the following mapping:

VDA 5050omlox
serialNumberprovider_id
mapIdsource
AgvPosition x,yposition
timestamptimestamp_generated

The location updates are always interpreted as local coordinates. This means that mapId MUST correspond to a valid id or foreign_id of a zone in the DeepHub.
The provider_type of the omlox location update will always be set to unknown.

Authentication

If the MQTT broker requires authentication, the following environment variables may be set for the VDA 5050 Connector:

VariableExpected Value Type
MQTT_BROKER_USERstring
MQTT_BROKER_PASSWORDstring
MQTT_TLSbool
MQTT_CA_CERTstring
MQTT_VERIFY_PEERbool

Battery State and Load

To store data regarding the battery state or the load in a timescale database, a second connector has to be started. For this, the following environment variable needs to be set: DATABASE_URL=postgresql://user:pass@url:port/database

This connector subscribes to the state topic. From state messages, it extracts the batteryState and the loads, and writes them to the database with the following schema:

battery_state:

Column NameValue Type
serial_numbertext
battery_chargedouble precision
battery_voltagedouble precision
battery_healthdouble precision
chargingboolean
reachdouble precision
timestamptimestampz

loads:

Column NameValue Type
serial_numbertext
is_loadedboolean
datajsonb
timestamptimestampz